<!DOCTYPE HTML>
<html>
<head>
    <title>商品详情</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- jquery -->
    <script type="text/javascript" src="/js/jquery.min.js"></script>
    <!-- bootstrap -->
    <link rel="stylesheet" type="text/css" href="/bootstrap/css/bootstrap.min.css" />
    <script type="text/javascript" src="/bootstrap/js/bootstrap.min.js"></script>
    <!-- jquery-validator -->
    <script type="text/javascript" src="/jquery-validation/jquery.validate.min.js"></script>
    <script type="text/javascript" src="/jquery-validation/localization/messages_zh.min.js"></script>
    <!-- layer -->
    <script type="text/javascript" src="/layer/layer.js"></script>
    <!-- md5.js -->
    <script type="text/javascript" src="/js/md5.min.js"></script>
    <!-- common.js -->
    <script type="text/javascript" src="/js/common.js"></script>
</head>
<body>

<div class="panel panel-default">
    <div class="panel-heading">秒杀商品详情</div>
    <div class="panel-body">
        <span id="userTip"> 您还没有登录，请登陆后再操作<br/></span>
        <span>没有收货地址的提示。。。</span>
    </div>
    <table class="table" id="goodslist">
        <tr>
            <td>商品名称</td>
            <td colspan="3" id="goodsName"></td>
        </tr>
        <tr>
            <td>商品图片</td>
            <td colspan="3"><img id="goodsImg" width="200" height="200" /></td>
        </tr>
        <tr>
            <td>秒杀开始时间</td>
            <td id="startTime"></td>
            <td>
                <input type="hidden" id="remainSeconds" />
<!--                <input type="hidden" id="endDate" />-->
                <span id="miaoshaTip"></span>
            </td>
            <td width="500px">
<!--                <form id="miaoshaForm" method="post" action="/seckill/doSeckill">-->
<!--                    <button disabled="disabled" class="btn btn-primary btn-block" type="submit" id="buyButton">立即秒杀</button>-->
<!--                    <input type="hidden" id="goodsId" />-->
<!--                </form>-->
                <div class="row">
                    <div class="form-inline">
                        <img id="captchaImg" width="130" height="32" onclick="refreshCaptcha()" style="display: none;">
                        <input id="captcha" class="form-control" style="display: none;width: 100px">
                        <button class="btn btn-primary" type="button" id="buyButton" style="width: 200px" onclick="getSeckillPath()">立即秒杀</button>
                        <input type="hidden" name="goodsId" id="goodsId" />
                    </div>
                </div>

            </td>
        </tr>
        <tr>
            <td>秒杀结束时间</td>
            <td id="endDate"></td>
            <td id="lastTime"></td>
        </tr>
        <tr>
            <td>商品原价</td>
            <td colspan="3" id="goodsPrice"></td>
        </tr>
        <tr>
            <td>秒杀价</td>
            <td colspan="3" id="seckillPrice"></td>
        </tr>
        <tr>
            <td>库存数量</td>
            <td colspan="3" id="stockCount"></td>
        </tr>
    </table>
</div>
</body>
<script>
    $(function(){
        // countDown();
        getDetail()
    });

    // 刷新验证码
    function refreshCaptcha() {
        $("#captchaImg").attr("src","/seckill/captcha?goodsId="+$("#goodsId").val()+"&time="+new Date())
    }

    //获取秒杀路径
    function getSeckillPath() {
        var goodsId = $("#goodsId").val();
        var captcha = $("#captcha").val();
        $.ajax({
            url:'/seckill/getPath',
            type:'GET',
            data:{
                goodsId:goodsId,
                captcha:captcha
            },
            success:function (data) {
                if (data.code == 200){
                    var path = data.obj;
                    doSeckill(path);
                }else {
                    layer.msg(data.message)
                }
            }
        })
    }

    // 秒杀
    function doSeckill(path) {
        $.ajax({
            url:'/seckill/'+path+'/doSeckill',
            type:'POST',
            data:{
                goodsId:$("#goodsId").val()
            },
            success:function (data) {
                if (data.code==200){
                    // window.location.href="/order_detail.htm?orderId="+data.obj.id;
                    getResult($("#goodsId").val());
                }else{
                    layer.msg(data.message);
                }
            },
            error:function () {
                layer.msg("客户端请求错误");
            }
        })
    }

    //获取秒杀结果
    function getResult(goodsId) {
        g_showLoading();
        $.ajax({
            url:'/seckill/result',
            type:'GET',
            data:{
                goodsId:goodsId
            },
            success:function (data) {
                if (data.code==200){
                    var result = data.obj;
                    if (result<0){
                        layer.msg("秒杀失败！");
                    }else if (result==0){
                        //轮询判断是否秒杀成功
                        setTimeout(function () {
                            getResult(goodsId);
                        },50);
                    }else{
                        layer.confirm("秒杀成功！是否查看订单?",{btn:["确定","取消"]},
                        function () {
                            window.location.href="/order_detail.htm?orderId="+result;
                        },
                        function () {
                            layer.close();
                        })
                    }
                }
            },
            error:function () {
                layer.msg("客户端请求异常")
            }
        })
    }

    // 获取商品详情
    function getDetail() {
        var goodsId = g_getQueryString("goodsId");
        $.ajax({
            url:'/goods/toDetail/'+goodsId,
            type:'GET',
            success:function (data) {
                if (data.code==200){
                    render(data.obj);
                }else{
                    layer.msg(data.message)
                }
            },
            error:function (){
                layer.msg("客户端请求失败")
            }
        })
    }

    // 渲染数据
    function render(detail) {
        var user = detail.user;
        var goods = detail.goodsVo;
        var remainSeconds = detail.remainSeconds;

        if(user){
            $("#userTip").hide();
        }
        $("#goodsName").text(goods.goodsName);
        $("#goodsImg").attr("src",goods.goodsImg);
        $("#startTime").text(new Date(goods.startDate).format("yyyy-MM-dd hh:mm:ss"));
        $("#endDate").text(new Date(goods.endDate).format("yyyy-MM-dd hh:mm:ss"));
        $("#remainSeconds").val(remainSeconds);
        // $("#endDate").val(endDate);
        $("#goodsId").val(goods.id);
        $("#goodsPrice").text(goods.goodsPrice);
        $("#seckillPrice").text(goods.seckillPrice);
        $("#stockCount").text(goods.stockCount);

        countDown()
    }

    // 秒杀倒计时
    function countDown(){
        var remainSeconds = $("#remainSeconds").val();
        var endDate = $("#endDate").text();
        var endTime = new Date(endDate);

        var timeout;
        if(remainSeconds > 0){//秒杀还没开始，倒计时
            $("#buyButton").attr("disabled", true);
            $("#miaoshaTip").html("秒杀倒计时："+remainSeconds+"秒");
            timeout = setTimeout(function(){
                $("#remainSeconds").val(remainSeconds - 1);
                countDown();
            },1000);
        }else if(remainSeconds == 0){//秒杀进行中
            $("#buyButton").attr("disabled", false);
            if(timeout){
                clearTimeout(timeout);
            }
            $("#miaoshaTip").html("秒杀进行中");

            //显示验证码
            refreshCaptcha()
            $("#captchaImg").show()
            $("#captcha").show();
            // 判断秒杀是否结束
            compareTime(endTime);
        }else {
            $("#buyButton").attr("disabled", true);
            $("#miaoshaTip").html("秒杀已经结束");
            $("#captchaImg").hide();
            $("#captcha").hide();
        }
    }
    // 判断秒杀是否结束
    function compareTime(endTime) {
        var flag = false;
        var time = setTimeout(function () {
            $("#lastTime").html("剩余时间："+parseInt((endTime.getTime()-new Date().getTime())/1000)+"秒");
            if (new Date().getTime() >= endTime.getTime()){
                $("#buyButton").attr("disabled", true);
                $("#miaoshaTip").html("秒杀已经结束");
                $("#captchaImg").hide();
                $("#captcha").hide();
                flag = true;
            }else if (!flag){
                compareTime(endTime);
            }else {
                clearTimeout(time)
            }
        },1000)
    }
</script>
</html>
